package com.example.springbootmybatis.controller;

import com.example.springbootmybatis.service.IUserService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 测试
 */
@RestController  //标记rest风格的为控制器，只返回数据，不映射页面
@RequestMapping("/testBoot")
public class TestController {

    /**
     * 如果每次都写这行代码会很麻烦，可以使用注解，但是需要使用 lombok
     * 允许注解处理，Settings -> Compiler -> Annotation Processors
     */
    private final static Logger logger = LoggerFactory.getLogger(TestController.class);

    @Qualifier("user1")
    @Autowired  //使用spring依赖注入对应的service，以调用里面的实现方法
    private IUserService userService;


    @RequestMapping("getUser/{id}")//访问方法的路径
    public String GetUser(@PathVariable int id){
//        控制台输出
//        日志级别从低到高分为：
//        TRACE < DEBUG < INFO < WARN < ERROR 。
        logger.trace("GetUser:{}", id);
        logger.debug("GetUser:{}", id);
        logger.info("GetUser:{}", id);
        logger.warn("GetUser:{}", id);
        logger.error("GetUser:{}", id);
        return userService.getUserByid(id).toString();
    }


}
